By way of example, in portable bio-medical sensor devices, it is crucial to conserve energy to extend the runtime of a battery-operated device. Typical applications require wireless communication between the device and a base station when data is to be downloaded, as well as the capture of large amounts of sensor data over a prolonged period of operation.
Nonvolatile memories are typically incorporated into such devices. These are considered to be a low-power solution for long-term data storage as required in wireless sensor devices. One variant of non-volatile memory is the SD-card solution, which offers the benefit of simple replacement of the storage media to exchange data between mobile devices and the base station.
Generally, SD-cards offer sufficient storage but feature high power consumption.
Other examples are small sized embedded flash memories, or up-to multi GByte dedicated chips. Embedded flash memories are typically too small (of the order of MBytes) for the amount of data generated in a sensor device, which is typically in the order of 100 MB to several GB.
Despite the high power consumption involved in wireless transmission, current flash memories have higher energy expenditure for storing the data than the direct wireless feed to the base station. Thus, even when streaming the full sensor data wirelessly, the wireless communication consumes less energy than the data storage function. The capturing of sensor data accounts for about 50% of the total energy expenditure of a wireless sensor device.
In the field of ambulatory cardiac monitoring in particular, existing Holter systems suffer from limited battery autonomy, which is in great part due to the inefficiency of data storage mechanisms. As a result, the recording times are typically limited to 2-3 days, when using batteries of size and weight acceptable to the user (typically 1-2 AAA batteries).
An alternative is to use intermittent monitors, or loop recorders, in which the data is recorded in snapshots around specific events, triggered by the patient or by software. These event recorders typically have 2-4 weeks of autonomy (on 1-2 AAA batteries), but only offer a partial view on the cardiac activity of the patient.
It is widely recognized by the medical community that continuous recording of a biopotential signal, for example, an ECG, for up to 1 month would greatly increase the diagnostic capabilities of ambulatory cardiac monitors, and result in better healthcare delivery to patients.
Flash memories are designed to tolerate some memory cell failures. As the memory cell density is increased, the probability of a failed cell increases. As long as the overall functional capacity increases, the design is improved by having the increased cell density. However, the data writing operation then needs to be designed to include a write validation operation to ensure that a memory block has been correctly written.
Flash memories are therefore written (and read) using a memory controller, which performs validation steps as part of the memory writing function. Essentially, an attempt is made to write a block (or “page”) of memory, and the written data is then read to determine if it can indeed be correctly read. As a result, each memory block write (and read) function involves a sequence of cycles. The number of cycles depends on the success of the writing operations. In particular, a write function may be repeated a number of times, and in the event of failure after a number of attempts, the data may be assigned to a different memory allocation.
The result is that the write function (and also the read function) takes a variable amount of time, depending on the success of the write (and read) attempts and depending on the need to change the location to which data is to be written. When a write operation does fail, the data has to be written to a different memory location. This also requires other blocks in the same memory area to be moved to a new location. In consequence, the writing of a single block can result in an extended period of block read and write operations. Finally, all of this has to be tracked in a memory allocation table.
This means that the period of energy expenditure when writing to the memory over time is unpredictable, which limits the possibility of properly distributing the limited power available from the batteries used in such mobile devices. A similar situation arises in connection with memory read cycles, in that different decision thresholds can be applied to determine the quality of the stored data, and different error correction approaches can be applied to enable reliable data reading.
With currently available non-volatile memory controllers this behavior is basically opaque to the power manager. In consequence, the power budget of the system needs to be the sum of the maximum processing power and the maximum flash operation power. In the case of wireless sensor devices, this can basically mean that the maximum power budget has to be doubled. Size requirements in such sensor devices make this a very costly solution.
US 2012/0331282 discloses a system in which a memory access function is allowed or prevented based on the power available at the time. The variable duration of the memory access function as described above presents a limitation on the efficiency of this system as well as preventing the finish time of operations to be predicted.
There is therefore a need for a memory solution which is more power efficient and more predictable in terms of latency. Even with efficient memory storage, wireless communication may still be desired, for example to signal certain system states (such as emergency transmissions, for example in response to heart failure), rather than for streaming raw data.